import axios from "axios";


// 创建axios实例
const MES_XHY_ApiHost = axios.create({
  //baseURL: 'http://localhost:5216',
  baseURL: 'http://123.57.80.82:8110',
  timeout: 10000 // 超时时间，可根据需要调整
})
// 创建axios实例
const MES_LXK_ApiHost = axios.create({
  //baseURL: 'http://localhost:5265',
  baseURL: 'http://123.57.80.82:8686',
  timeout: 10000 // 超时时间，可根据需要调整
})
// 创建axios实例
const MES_XSP_ApiHost = axios.create({
  //baseURL: 'http://localhost:5058',
  baseURL: 'http://123.57.80.82:8111',
  timeout: 10000 // 超时时间，增加到60秒以处理复杂的工序创建操作
  //timeout: 60000 // 超时时间，增加到60秒以处理复杂的工序创建操作
})

// 创建axios实例
const MES_SMH_ApiHost = axios.create({
  //baseURL: 'http://localhost:5154',
  baseURL: 'http://123.57.80.82:8112',
  timeout: 10000 // 超时时间，可根据需要调整
})

// 添加请求拦截器
MES_XHY_ApiHost.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  const token = localStorage.getItem('token')
  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }
  return config;

}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
MES_XHY_ApiHost.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  if (error.response?.status === 401) {
    // token过期或无效，清除本地存储并跳转到登录页
    localStorage.removeItem('userInfo')
    localStorage.removeItem('token')
    window.location.href = '/login'
  }
  return Promise.reject(error);
});
// 添加请求拦截器
MES_LXK_ApiHost.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  const token = localStorage.getItem('token')
  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }
  return config;

}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
MES_LXK_ApiHost.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  if (error.response?.status === 401) {
    // token过期或无效，清除本地存储并跳转到登录页
    localStorage.removeItem('userInfo')
    localStorage.removeItem('token')
    window.location.href = '/login'
  }
  return Promise.reject(error);
});
// 添加请求拦截器
MES_XSP_ApiHost.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  const token = localStorage.getItem('token')
  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }
  return config;

}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
MES_XSP_ApiHost.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  if (error.response?.status === 401) {
    // token过期或无效，清除本地存储并跳转到登录页
    localStorage.removeItem('userInfo')
    localStorage.removeItem('token')
    window.location.href = '/login'
  }
  return Promise.reject(error);
});

// 添加请求拦截器
MES_SMH_ApiHost.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  const token = localStorage.getItem('token')
  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }
  return config;

}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
MES_SMH_ApiHost.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  if (error.response?.status === 401) {
    // token过期或无效，清除本地存储并跳转到登录页
    localStorage.removeItem('userInfo')
    localStorage.removeItem('token')
    window.location.href = '/login'
  }
  return Promise.reject(error);
});
// export default MES_XHY_ApiHost //(单个对象导出)

export { MES_XHY_ApiHost, MES_LXK_ApiHost, MES_XSP_ApiHost,MES_SMH_ApiHost }//(多个对象导出)